package com.hdjd.service;

import com.hdjd.entities.Order;
import com.hdjd.entities.OrderDetail;
import org.aspectj.weaver.ast.Or;

import java.util.List;
import java.util.Map;

/**
 * @author 黄徵岚
 * @create 2021/1/29 8:53
 */
public interface OrderService {

    /**
     * 取消订单
     * @param ordId
     * @return
     */
    int cancelOrder(Integer ordId);

    /**
     * 获取订单总价
     * @param ordId
     * @return
     */
    Map<String,Object> orderTotalPrice(Integer ordId);

    /**
     * 订单支付
     * @param ordId
     * @param accId
     * @param accPwd
     * @param totalPrice
     * @return
     */
    boolean payOrder(Integer ordId,Integer accId,String accPwd,double totalPrice);

    /**
     * 修改订单商品购买数量
     * @param detId
     * @param goNum
     * @return
     */
    int editOrderGoNum(Integer detId,Integer goNum);

    /**
     * 查看我的订单
     * @param accId
     * @param ordStatus
     * @param pageCurrent
     * @param pageSize
     * @return
     */
    List<Map<String,Object>> selectMyOrder(Integer accId,Integer ordStatus,Integer pageCurrent, Integer pageSize);

    /**
     * 查看我的订单数据笔数
     * @param accId
     * @param ordStatus
     * @return
     */
    int selectMyOrderNum(Integer accId,Integer ordStatus);

    /**
     * 商品退货
     * @param detId
     * @return
     */
    int returnMyGoods(Integer detId);

    /**
     * 根据订单Id查询订单明细信息
     * @param ordId
     * @return
     */
    List<Map<String, Object>> selectOrderDetailByOrdId(Integer ordId);

    /**
     * 更新订单信息
     * @param ordId
     * @param reAddressId
     * @return
     */
    int updateOrderByOrder(Integer ordId, Integer reAddressId);

    /**
     * 查询订单
     * @param ordId
     * @return
     */
    Order selectOrderByOrdId(Integer ordId);
}
